import sys
import os
import logging
import pyaudio
sys.path.append('/home/pi/xiaolan/snowboy/')
import snowboydecoder
import signal

class SnowboyHotWordAwaken(object):
    
    def __init__(self, model, interrupted, sensitivity):
        self.sensitivity = '0.5'
        self.model = '/home/pi/xiaolan/snowboy/xiaolanxiaolan.pmdl'
        self.interrupted = False

    def start(self):
        
        interrupted = False

        def signal_handler(signal, frame):
            global interrupted
            interrupted = True


        def interrupt_callback():
            global interrupted
            return interrupted

        if len(sys.argv) == 1:
            print("Error: need to specify model name")
            print("Usage: python demo.py your.model")
            sys.exit(-1)

        model = self.model

        # capture SIGINT signal, e.g., Ctrl+C
        signal.signal(signal.SIGINT, signal_handler)

        detector = snowboydecoder.HotwordDetector(model, sensitivity=0.5)
        print('Listening... Press Ctrl+C to exit')

        # main loop
        detector.start(detected_callback=snowboydecoder.play_audio_file,
                       interrupt_check=interrupt_callback,
                       sleep_time=0.03)

        detector.terminate()

        return interrupted
